//package com.github.websocket.handler;
//
//import org.apache.log4j.Logger;
//import org.springframework.messaging.simp.SimpMessagingTemplate;
//import org.springframework.stereotype.Component;
//import org.springframework.web.socket.CloseStatus;
//import org.springframework.web.socket.TextMessage;
//import org.springframework.web.socket.WebSocketSession;
//import org.springframework.web.socket.handler.TextWebSocketHandler;
//
//import java.util.ArrayList;
//import java.util.Collections;
//import java.util.List;
//
///**
// * @author  Crab2Died
// *  <p></p>
// */
//
//@Component
//public class ChatWebSocketHandler extends TextWebSocketHandler {
//
//    private static Logger logger = Logger.getLogger(ChatWebSocketHandler.class);
//
//    private final static List<WebSocketSession> sessions = Collections.synchronizedList(new
// ArrayList<WebSocketSession>());
//
//    public ChatWebSocketHandler() {
//        System.out.println("初始化...");
//    }
//
//    //接收文本消息，并发送出去
//    @Override
//    protected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {
//        //chatTextMessageHandler(message.getPayload());
//        System.out.println("消息体：" + message.getPayload());
//        super.handleTextMessage(session, message);
//    }
//
//    //连接建立后处理
//    @SuppressWarnings("unchecked")
//    @Override
//    public void afterConnectionEstablished(WebSocketSession session) throws Exception {
//        logger.debug("connect to the websocket chat success......");
//        sessions.add(session);
//        //处理离线消息
//    }
//
//    //抛出异常时处理
//    @Override
//    public void handleTransportError(WebSocketSession session, Throwable exception) throws Exception {
//        if(session.isOpen()){
//            session.close();
//        }
//        logger.debug("websocket chat connection closed......");
//        sessions.remove(session);
//    }
//
//    //连接关闭后处理
//    @Override
//    public void afterConnectionClosed(WebSocketSession session, CloseStatus closeStatus) throws Exception {
//        logger.debug("websocket chat connection closed......");
//        sessions.remove(session);
//        super.afterConnectionClosed(session, closeStatus);
//    }
//
//    @Override
//    public boolean supportsPartialMessages() {
//        return false;
//    }
//}
